package cn.itcast.ssh.service;

import org.activiti.engine.repository.ProcessDefinition;

import java.io.InputStream;
import java.util.List;
import java.util.zip.ZipInputStream;

/**
 * @author xiongshiyan at 2021/3/16 , contact me with email yanshixiong@126.com or phone 15208384257
 */
public interface ProcessDefinitionService {
    /**
     * 查找所有的最小版本的流程定义
     */
    List<ProcessDefinition> findAllLatestVersions();

    /**
     * 删除指定key的所有版本的流程定义
     */
    void deleteByKey(String processDefinitionKey);

    /**
     * 部署流程定义
     */
    void deployByZip(String deployName, ZipInputStream zipInputStream);

    /**
     * 获取指定id的流程定义的图片资源
     */
    InputStream getProcessImageAsStream(String processDefinitionId);
}
